/**
 *
 */
package com.naiterui.ehp.bs.emr.entity.mongo;

import org.apache.commons.lang3.builder.ToStringBuilder;
import org.springframework.data.mongodb.core.mapping.Document;

/**
 * 患者病例MONGO实体
 *

 * @since 2.16
 */
@Document(collection = "patient_medical_record")
public class PatientMedicalRecord extends BaseMedicalRecord {

    /**
     * 字段或域定义：<code>serialVersionUID</code>
     */
    private static final long serialVersionUID = -4732213487658667266L;

    /**
     * <患者id>
     */
    private Long patientId;

    /**
     * 家庭成员关系
     */
    private Integer relation;
    /**
     * 家庭姓名
     */
    private String name;
    /**
     * 家庭成员性别-0：女1：男
     */
    private Integer gender;
    /**
     * 家庭成员年龄
     */
    private Integer age;

    /**
     * 家庭成员年龄单位
     */
    private String ageUnit;

    /**
     * amc诊断请求序列号
     */
    private String amcSeqNum;

    /**
     * 医生名：<code>doctor</code>
     */
    private String doctorName;

    /**
     * 病例状态-0：完成；1：草稿,2;暂存
     */
    private Integer status;
    /**
     * 关联医生ID
     */
    private Long doctorId;
    /**
     * 填写来源：1-医生邀请填写；2-自己添加; 3-医生推送,4-线上诊室病历 5-患者填写量表
     */
    private Integer source;
    /**
     * 同步数据标识
     */
    private Integer signs;
    /**
     * 医生病历id
     */
    private String drRecordId;

    /**
     * 医院id：<code>hospitalId</code>
     */
    private Integer hospitalId;

    /**
     * 医院名：<code>hosptital</code>
     */
    private String hospitalName;

    /**
     * 科室：<code>departmentName</code>
     */
    private String departmentName;

    /**
     * 科室id：<code>departmentId</code>
     */
    private Integer departmentId;

    /**
     * 家庭成员id
     */
    private Long familyId;

    /**
     * 患者填写病历
     */
    private MedicalRecordPatient medicalRecordPatient;
    /**
     * 医生推送患者病例信息
     */
    private MedicalRecordDoctor doctorMedicalRecord;
    /**
     * 患者线上诊室病历
     */
    private PtConsultRoomRecord patientConsultRecord;

    /**
     * 患者填写量表
     */
    private MedicalRecordScale recordScale;

    /**
     * 患者病历最完成时间
     */
    private Long finishTime;

    public Long getPatientId() {
        return this.patientId;
    }

    public void setPatientId(Long patientId) {
        this.patientId = patientId;
    }

    public Integer getRelation() {
        return this.relation;
    }

    public void setRelation(Integer relation) {
        this.relation = relation;
    }

    public String getName() {
        return this.name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public Integer getGender() {
        return this.gender;
    }

    public void setGender(Integer gender) {
        this.gender = gender;
    }

    public Integer getAge() {
        return this.age;
    }

    public void setAge(Integer age) {
        this.age = age;
    }

    public String getAgeUnit() {
        return this.ageUnit;
    }

    public void setAgeUnit(String ageUnit) {
        this.ageUnit = ageUnit;
    }

    public String getAmcSeqNum() {
        return this.amcSeqNum;
    }

    public void setAmcSeqNum(String amcSeqNum) {
        this.amcSeqNum = amcSeqNum;
    }

    public String getDoctorName() {
        return this.doctorName;
    }

    public void setDoctorName(String doctorName) {
        this.doctorName = doctorName;
    }

    public Integer getStatus() {
        return this.status;
    }

    public void setStatus(Integer status) {
        this.status = status;
    }

    public Long getDoctorId() {
        return this.doctorId;
    }

    public void setDoctorId(Long doctorId) {
        this.doctorId = doctorId;
    }

    public Integer getSource() {
        return this.source;
    }

    public void setSource(Integer source) {
        this.source = source;
    }

    public Integer getSigns() {
        return this.signs;
    }

    public void setSigns(Integer signs) {
        this.signs = signs;
    }

    public String getDrRecordId() {
        return this.drRecordId;
    }

    public void setDrRecordId(String drRecordId) {
        this.drRecordId = drRecordId;
    }

    public Integer getHospitalId() {
        return this.hospitalId;
    }

    public void setHospitalId(Integer hospitalId) {
        this.hospitalId = hospitalId;
    }

    public String getHospitalName() {
        return this.hospitalName;
    }

    public void setHospitalName(String hospitalName) {
        this.hospitalName = hospitalName;
    }

    public String getDepartmentName() {
        return this.departmentName;
    }

    public void setDepartmentName(String departmentName) {
        this.departmentName = departmentName;
    }

    public Integer getDepartmentId() {
        return this.departmentId;
    }

    public void setDepartmentId(Integer departmentId) {
        this.departmentId = departmentId;
    }

    public Long getFamilyId() {
        return this.familyId;
    }

    public void setFamilyId(Long familyId) {
        this.familyId = familyId;
    }

    public MedicalRecordPatient getMedicalRecordPatient() {
        return this.medicalRecordPatient;
    }

    public void setMedicalRecordPatient(MedicalRecordPatient medicalRecordPatient) {
        this.medicalRecordPatient = medicalRecordPatient;
    }

    public MedicalRecordDoctor getDoctorMedicalRecord() {
        return this.doctorMedicalRecord;
    }

    public void setDoctorMedicalRecord(MedicalRecordDoctor doctorMedicalRecord) {
        this.doctorMedicalRecord = doctorMedicalRecord;
    }

    public PtConsultRoomRecord getPatientConsultRecord() {
        return this.patientConsultRecord;
    }

    public void setPatientConsultRecord(PtConsultRoomRecord patientConsultRecord) {
        this.patientConsultRecord = patientConsultRecord;
    }

    public MedicalRecordScale getRecordScale() {
        return this.recordScale;
    }

    public void setRecordScale(MedicalRecordScale recordScale) {
        this.recordScale = recordScale;
    }

    public Long getFinishTime() {
        return this.finishTime;
    }

    public void setFinishTime(Long finishTime) {
        this.finishTime = finishTime;
    }

    @Override
    public String toString() {
        return ToStringBuilder.reflectionToString(this);
    }
}
